home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Xenosoft 2
/
Xenosoft 2 (Game collection)(1994).iso
/
bioforge
/
script
/
digsite.scp
< prev
next >
Wrap
Text File
|
1994-12-08
|
15KB
|
775 lines
//*** DIG SITE ***
{ DIGSITE_LOAD
// IF LEX IS WEARING THE REFLECT SUIT MAKE SURE THE BATTERY CONTINUES
// TO BE DRAINED. -BKA-
@Ç¢ PLAYER
I ( @Ç⌐ (LEXMIR) ) THEN
{
^ä╝ = @Çì REFLECTBATTDRAIN
}
// RESTART BIOREPAIR IF IT IS STILL ACTIVE
I ^ïâ = 1 THEN
^Ä₧ = @Çì BIOREPAIR
@Ç¥ READY_SHRIMP1
@Ç¥ READY_SHRIMP2
@Ç¥ READY_DROGG2
@Çì TOMB_SPARKLE
// RESET TONFA GUN -BKA
^ïÆ = 0
^ïò = 0
I ^åô = 1 THEN
{
G FRM_LDG
}
I ^åô = 2 THEN
{
//GO DTUBE_PT
@Ç¢ PLAYER
M STAND CONTINUE
â
}
I ^åô = 3 THEN
{
@Çì HARD_SUIT_OPEN_DIG
}
O $Çö
{
I ^çô = $Ç╗ THEN // IF CITY HAS NOT BEEN TURNED ON, ESCHER IS PLACED
{
I @Ç¢ ( ESCHEAD ) = 0 THEN
{
F ( ESCHEAD )
@Ç¢ ( ESCHEAD )
}
Y DGS1, DGS2, DGS3, DGS4
u CURFIG OFF
G ESCHER
£ 295
M PRONE3 FREEZE
}
E
{
^â₧ = 2
^⥠= 2
^⣠= 1
^⃠= 1
}
}
}
{ DGS_LOAD
I ^îÜ THEN
{
I @Çû (^êÄ ) = $Ç╗ THEN
^êÄ = @Çç (`⪠)
}
I @Çû (^êÅ ) THEN (^êÅ )
I @Çû (^êÉ ) THEN (^êÉ )
I ^âæ = $Ç╗ THEN
{
I ^âÖ THEN
{
I @Çó ( ^âÖ ) = 0 THEN
{
^âÖ = @Çì ESCHER_WHINE
}
}
E
{
^âÖ = @Çì ESCHER_WHINE
}
}
I ^çô THEN
{
I ^âò != 0 THEN
{
// NOW THIS FLAG SET IN EL_SCENE.SCR -BES
//_ESCHER_DEAD = _TRUE
^âò = 0
// HAVE HAD SOME PROBLEM WITH MULTIPLE HEADS, SO JUST IN CASE... - BAR
:BACK
I @Ç¢ ( ESCHEAD ) THEN
{
K
J #Çé
}
e LOGBOOK
f COORDS 203 -94 -40
n CURITEM ESCHERLOG
W 5 SECONDS
i LEX ESHGON
}
}
}
{ ALC_LOAD
O $Çì
//
// IF @ISHANDLEPLAYING(_SHRIMP_AMBIENT_1) THEN STOPSOUND(_SHRIMP_AMBIENT_1)
//
// IF _SHRIMP2_ALIVE THEN
// {
// IF @ISHANDLEPLAYING(_SHRIMP_AMBIENT_2) = _FALSE THEN
// _SHRIMP_AMBIENT_2 = @AMBIENT(_AMB_SHRIMP, 255, -1024)
// }
}
//{ ALC1_LOAD
//
// @CALL READY_SHRIMP1 // RE-READY SHRIMP IF ALIVE
//
//}
{ ALC3_LOAD
W 5 SECONDS
i LEX TROOM
}
{ TMB_LOAD
O $Çè
I @Çû (^êÅ ) THEN (^êÅ )
W 5 SECONDS
i LEX CTOMB
}
{ DGS1_LOAD
@Ç¥ ACTIVATE_SHRIMP2
I ^âí THEN
{
I @Çó ( ^âí ) = 0 THEN
{
^âí = @Çì DIGSITE_BLINKIE
}
}
E
{
^âí = @Çì DIGSITE_BLINKIE
}
}
{ DGS4_LOAD
@Ç¥ ACTIVATE_SHRIMP1
}
//*** TOMB USEABLE TRIGGERS ***
// NOTE: THERE ARE LOTS OF ANIMATIONS USED FOR THE TOMB SCENE. THEY ARE
// DESCRIBED BELOW:
// _OPEN_FRAME: PART OF THE TOMB "door"
// _BACK_FRAME: SHADOW PART OF THE TOMB "door"
// _GLOW_FRAME: ANIM OF THE FORCEFIELD IN TMB1, IE, "longshot"
// _ENRG_FRAME: ANIM OF THE FORCEFIELD IN TMB4, IE, "close-up"
// _KEY_FRAME: ANIM OF THE KEY IN TMB3, IE, "close-up"
// _OFF_FRAME: ANIM OF THE FORCEFIELD FADING IN TMB1
// _CRAK_FRAME: ANIM OF GLOW BETWEEN THE CRACKS IN THE TOMB "door"
{ FADEGLOW // THIS PROCESS GETS CALLED WHEN THE TOMB PUZZLE IS SOLVED
^âä = 1
^âî = 0
:ANIM
^âä ++
â
L #Çë 20
^ââ = @Çì KEYGLOW
W 3 SECONDS
}
{ GETKEY // THIS PROCESS GETS CALLED WHEN THE TOMB PUZZLE IS SOLVED
I @ÇÆ RTHAND THEN f GROUND
M GET_TOMB_KEY CONTINUE
W 60
e KEY
// TURN OFF KEYGLOW ANIM
^ââ
^âå = 0
^âä = 0
f LTHAND
}
{ GLOWANIM // THIS PROCESS IS STARTED AT THE END OF REALTIME PROCESS "TearOffTheDoor"
:ANIM
I ^âî > 24 THEN ^âî = 1
^âî ++
I ^âà > 5 THEN ^âà = 1
^âà ++
â
I ^ì╕ == 0 THEN L #Çî
}
{ KEYGLOW
:ANIM
I ^âå > 5 THEN ^âå = 1
I ^âä > 22 THEN ^âä = 21
^âä ++
^âå ++
â
L #ÇÄ
}
{ OPENTOMB_USE
// IF THE TOMB IS OPEN THEN RUN THE TOMB MONITOR
I ^âè != 1 THEN
{
I ^ì╕ == $Ç╝ THEN
@Çì SHOWTMB3
E
@Çì SHOWTMB4
é
}
@Ç¢ PLAYER
A OFF
G TOMB_LOC WALK
£ -68 GRADUAL
M OPEN_TOMB1
M OPEN_TOMB2
M OPEN_TOMB3 210 CONTINUE
@Ç¥ TEAROFFTHEDOOR
A ON
W 3 SECONDS
i LEX TFIELD
}
{ SHOWTMB3
//@CALL PUSHBUTTON
C TMB3
@Ç¢ PLAYER
A OFF
W 3 SECONDS
A ON
C UNLOCK
//@PROCESS TOMB_MONITOR
}
{ SHOWTMB4
I @Çú THEN é
I @Çä NOTIN -105,-15 THEN é
I @Ç╗ CURFIG PAN_LOC > 20 THEN
{
G PAN_LOC WALK 10
G PAN_LOC
}
E
G PAN_LOC
£ -60 GRADUAL
@Ç¥ PUSHBUTTON
C TMB4
@Ç¢ PLAYER
A OFF
W 3 SECONDS
A ON
C UNLOCK
@Ç¥ TOMB_MONITOR
I ^ì╕ == $Ç╝ THEN
@Ç¥ TOMBPUZZLESOLVED
E
W 25 SECONDS
i LEX TOMPUZ
}
{ PUSHBUTTON
W 15
M PUSH_BUTTON
}
{ TOMBPUZZLESOLVED
A OFF
// CAMERA UNLOCK // CUT TO LONGSHOT
@Ç¥ FADEGLOW // SHOW FORCEFIELD (FF) FADE OUT
C TMB3 // CUT TO CLOSE-UP; SHOW FF OFF AND KEY ANIMATING
@Ç¢ PLAYER
A OFF
W 3 SECONDS
A ON
C UNLOCK // CUT BACK TO LONGSHOT
^âà = 0
//_OPEN_FRAME = 65
^âë = 65
@Ç¥ GETKEY // SHOW LEX GRABBING KEY
A ON
}
{ TOMB_SPARKLE
:ANIM
I ^âè >= 5 THEN
{
^âê = 0
é
}
I ^âê == 5 THEN ^âê = 1
â
^âê ++
L #Çò // RUN ANIM FOREVER
}
[ TEAROFFTHEDOOR
00:00 ^âè = 1
@Çì GLOWANIM
^âë = 1
00:02 ^âè = 2
^âë = 2
@Çå (`Ç┤ , 255, 2048)
00:04 ^âè = 3
^âë = 3
00:05 ^âè = 4
^âë = 4
00:06 ^âè = 5
^âë = 5
00:07 ^âè = 6
^âë = 6
00:08 ^âè = 7
^âë = 7
00:09 ^âè = 8
^âë = 8
00:10 ^âè = 9
^âë = 9
00:11 ^âè = 10
^âë = 10
00:12 ^âè = 11
^âë = 11
00:14 ^âè = 12
^âë = 12
00:16 ^âè = 13
^âë = 13
00:18 ^âè = 14
^âë = 14
00:19 ^âè = 15
^âë = 15
00:20 ^âè = 16
^âë = 16
00:21 ^âè = 17
^âë = 17
00:22 ^âè = 18
^âë = 18
00:23 ^âè = 19
^âë = 19
00:24 ^âè = 20
^âë = 20
00:27 ^âè = 21
^âë = 21
01:00 ^âè = 22
^âë = 22
01:03 ^âè = 23
^âë = 23
01:06 ^âè = 24
^âë = 24
01:09 ^âè = 25
^âë = 25
01:12 ^âè = 26
^âë = 26
01:18 ^âè = 27
^âë = 27
02:00 ^âè = 28
^âë = 28
02:12 ^âè = 29
^âë = 29
02:24 ^âè = 30
^âë = 30
03:06 ^âè = 31
^âë = 31
03:10 ^âè = 32
^âë = 32
03:14 ^âè = 33
^âë = 33
03:18 ^âï = 1
^âè = 0
^âë = 34
03:24 ^âï = 2
^âë = 35
04:00 ^âï = 3
^âë = 36
04:03 ^âï = 4
^âë = 37
04:06 ^âï = 5
^âë = 38
04:09 ^âï = 6
^âë = 39
04:12 ^âï = 7
^âë = 40
04:16 ^âï = 8
^âë = 41
04:20 ^âï = 9
^âë = 42
04:24 ^âï = 10
^âë = 43
04:28 ^âï = 11
^âë = 44
@Çå (`Ç▒ , 100)
05:02 ^âï = 12
^âë = 45
05:06 ^âï = 13
^âë = 46
05:10 ^âï = 14
^âë = 47
@Çå (`Ç▒ , 160)
05:14 ^âï = 15
^âë = 48
05:18 ^âï = 16
^âë = 49
05:24 ^âï = 17
^âë = 50
05:28 ^âï = 18
^âë = 51
06:02 ^âï = 19
^âë = 52
06:06 ^âï = 20
^âë = 53
06:10 ^âï = 21
^âë = 54
06:14 ^âï = 22
^âë = 55
@Çå (`Ç▒ )
06:18 ^âï = 23
^âë = 56
06:22 ^âï = 24
^âë = 57
06:26 ^âï = 25
^âë = 58
07:00 ^âï = 26
^âë = 59
07:04 ^âï = 27
^âë = 60
07:08 ^âï = 28
^âë = 61
07:12 ^âï = 29
^âë = 62
07:16 ^âï = 30
^âë = 63
07:20 ^âï = 31
^âë = 64
07:24 ^âï = 32
^âë = 65
^âî = 1
07:25 ^âç = $é╗
^âï = 33
]
// *** DIGSITE USABLE TRIGGERS***
{ FRM_LDG_USE
^åÆ = 2
S BEACH
}
{ TO_TUNS_USE
^åö = 1
S TUNROOM
}
//{ HRDSUIT
// @CALL DS_HARDSUITMACHINE
//}
//
//{ GUNMACH_USE
// @CALL DS_GUNMACHINE
//}
//
// THIS PROCESS OPENS AND CLOSES THE HARDSUIT MACHINE
//{ DS_GUNMACHINE
//
// SHOW GUN ANIMATION
// _GUNM_FRAME = 4
// WAIT 10
// _GUNM_FRAME --
// WAIT 20
// _GUNM_FRAME --
// WAIT 10
// _GUNM_FRAME --
// WAIT 10
//
// _GUNM_FRAME = 4
// :RECEIVE_LOOP
// _GUNM_FRAME --
// SUSPEND
// IF _GUNM_FRAME > 1 THEN
// JUMP RECEIVE_LOOP
//}
//
// THIS PROCESS OPENS AND CLOSES THE HARDSUIT MACHINE
//{ DS_HARDSUITMACHINE
//
// AI OFF
// GO SUITCNTR WALK // WALK LEX TO TRIGGER INSIDE HARDSUIT MACHINE
// @CALL HARD_SUIT_CLOSE
//
// IF @ISMYFORM(LEX) THEN
// {
// CHANGEMYFORM(HARD)
// @SETCURRENTFIGURE(PLAYER)
// }
// ELSE
// {
// CHANGEMYFORM(LEX)
// @SETCURRENTFIGURE(PLAYER)
// }
//
// @CALL HARD_SUIT_OPEN
//}
//
// TRIGGER TO RUN WHEN LEX WALKS INTO THE HARDSUIT MACHINE
{ SUITTES2
{
// IF THE HARDSUIT MACHINE IS NOT DAMAGED MAKE IT WORK
I ^⃠= 0 THEN
{
I ^üå = 1 THEN
{
^üå = 0
@Çì HARDSUITMACHINE
}
// IF THE PLAYER HAS NOT MOVED AT LEAST THREE METERS FROM THE
// SUITTEST TRIGGER DOSN'T START THE HARDSUIT PROCESS AGAIN
: TEST
â
I @Çá (CURFIG SUITTES2) < 300 THEN
{
J #ÇÜ
}
// PLAYER IS NOW MORE THAN THREE METERS FROM SUITTEST TRIGGER
^üå = 1
}
E
{
W 5 SECONDS
i LEX SEALED
}
}
}
// THIS PROCESS OPENS AND CLOSES THE HARDSUIT MACHINE
{ HARDSUITMACHINE
{
// FREEZE LEX
I (@Ç¢ PLAYER) THEN
{
A OFF
o
}
//@@@ TRANSLATE F
//ELSE CAPTION("Can't find Lex /FFrench here /GKann Lex nicht finden.")
// RUN HARDSUIT MACHINE ANIMATION
@Ç¥ HARD_SUIT_CLOSE_DIG
// CHECK FOR THE CURRENT FORM AND CHANGE IT
I (@Ç⌐ LEX) OR (@Ç⌐ LEXMIR) THEN
{
ù HARD
}
E
{
ù LEX
}
^åÆ = 3
S BEACH SUITTES3
}
}
{ DIGTUBE_KEY_USE
I ( @ÇÅ ( ^éª , 4 ) = 0) THEN
{
// PREVENT CAMERA CHANGES...
C DGS1
£ BLINK GRADUAL
M USE_KEY1
// MAKE SURE THE FLAG THAT OPENS THE TUBE IS NOW SET
// TURN OFF THE BLINKIE
a ( ^éª , 4 ) = 1
^âí
^âá = 2
^âó = 1
^âú = 1
^é┤ = 1
^é¬ = 1
W 2
M USE_KEY2
}
@Çì THE_DIGTUBE
}
{ DIGTOOB_KEY_USE
@Çì DIGTUBE_KEY_USE
}
{ DIGTOOB_USE
// WORK ONLY IF THE DIGTUBE HAS BEEN TURNED ON
I ( @ÇÅ ( ^éª , 4 ) = 1) THEN
{
@Çì THE_DIGTUBE
}
E
{
i LEX NOKEY
}
}
[ DIGSITE_BLINKIE
ó DGS1
:BLINK_AGAIN
//IF ( @GETFLAG( _TUBESOPEN, 4 ) = 0) THEN
I ^îù = 0 THEN
{
00:00 ^âá = 1
00:03 ^âá = 2
}
00:05 ò
J #Çá
]
// REAL-TIME PROCESSES
[ HARD_SUIT_CLOSE_DIG
00:00 ^âÄ = 1
^âÅ = 1
@Çå `â¿
00:04 ^âÄ = 2
^âÅ = 2
00:08 ^âÄ = 3
^âÅ = 3
00:12 ^âÄ = 4
^âÅ = 4
00:16 ^âÄ = 5
^âÅ = 5
00:20 ^âÄ = 6
^âÅ = 6
00:24 ^âÄ = 7
^âÅ = 7
00:28 ^âÄ = 8
^âÅ = 8
01:02 ^âÄ = 9
^âÅ = 9
01:06 ^âÄ = 10
^âÅ = 10
01:10 ^âÄ = 11
^âÅ = 11
01:14 ^âÄ = 12
^âÅ = 12
01:18 ^âÄ = 13
^âÅ = 13
01:22 ^âÄ = 14
^âÅ = 14
01:26 ^âÄ = 15
^âÅ = 15
02:00 ^âÄ = 16
^âÅ = 16
02:04 ^âÄ = 17
^âÅ = 17
02:08 ^âÄ = 18
^âÅ = 18
02:12 ^âÄ = 19
^âÅ = 19
02:16 ^âÄ = 20
^âÅ = 20
02:20 ^âÄ = 21
^âÅ = 21
02:24 ^âÄ = 22
^âÅ = 22
02:28 ^âÄ = 23
^âÅ = 23
03:02 ^âÄ = 24
^âÅ = 24
03:06 ^âÄ = 25
^âÅ = 25
]
[ HARD_SUIT_OPEN_DIG
00:00 @Çè (^âÄ , -1, 25, 1, 4)
00:00 @Çè (^âÅ , -1, 25, 1, 4)
00:00 @Çå `â¿
A ON
]
{ TOMBCLUE
I ^ì╕ != 1 AND ^âè != 1 THEN
{
W 10 SECONDS
i LEX TKEY
}
}
//$ 26 - version number